package com.shigen.file.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shigen.file.common.Result;
import com.shigen.file.entity.ProjectData;
import javax.servlet.http.HttpServletRequest;

/**
 * <p>
 * 表单的数据 服务类
 * </p>
 *
 * @author shigen.fu
 * @since 2022-06-04
 */
public interface IProjectDataService extends IService<ProjectData> {

  /**
   * 根据表单id获得表单原始数据
   * @return
   */
  IPage<ProjectData> getProjectData(String projId, IPage<ProjectData> page);

  /**
   * 获得表单格式化之后的数据
   * @param projId 表单id
   * @param withAdditionInfo 是否查询附带信息
   * @param page 分页
   * @return
   */
  IPage<JSONObject> getProjectData(String projId, Boolean withAdditionInfo, IPage<ProjectData> page);

  /**
   * 表单填写
   * @param projId 表单id
   * @param data 表单数据
   * @param murmur 设备码
   * @param timeUsed 耗时ms
   * @param request request请求
   */
  Result addProjectData(String projId, Object data, String murmur, Long timeUsed, HttpServletRequest request);
}
